一定要知道为什么吗?
像往常一样,我检查邮箱,发现了一个还算有礼貌,而且很直接的提问,所以我决定回一下!
(PS: 为什么我比较喜欢邮件交流呢,间接原因是当初我还在礼来的时候某天我去BOSS办公室看着她满屏的未读邮件觉得很酷,用邮件办公应该是商务首选。直接原因是微信的好友和群聊实在是太多了,根本没办法有针对性的follow一个人或者一个问题)
来信的问题是:关于shell里面的同样的find命令为什么得到了不同的结果:
首先,很明显,这个find命令根本就不一样,明明是在不同的目录,我指出了他的错误。但是他又给我了一个截图
接下来就有点尴尬了,这次的find命令的确是一模一样的,只是因为执行该命令的工作目录变化了,可是明明就用的是全路径,为什么呢?
毕竟没办法重复这个步骤,也不是很了解,就求助了生信技能树的小伙伴,铁汉一马当先的指出问题所在,因为后面的通配符匹配形式没有加上引号。
也的确解决了问题,但是对方还在发问
我很尴尬,毕竟我没有正经学过计算机,咋讲解原理呢,就礼貌的回复了一句:如果感兴趣就自己搜索相关资料吧。
虽然不知道为什么后面的通配符匹配形式没有加上引号会导致前面的路径参数失效,使得find命令查找工作目录,而不是给定的参数。但是我本人从来没有遇到这个问题,因为从我4年前学习linux看到的教程就是教我find命令的通配符匹配形式需要加上引号,而且单引号和双引号还有一定的区别。
回过头来看这件事,发现初学者问题还蛮多,每个人性格不一样导致学习方法不一样,学习效果也千差万别,如果没有人指导,可能很多人还得把大把的时间花在这些鸡毛蒜皮的细节上面。
更麻烦的是,linux的shell语言吊轨的还不只是这些东西,比如 [],[[]],(),(()),{},{{}},以及在前面加上$的区别,再比如操作符两边是否加空格,自增符号存在吗?shell拥有比较原始的语法,如果很多人未来的主打是R或者python,其实本没有必要在这些细节上面耗费太多。
感兴趣的可以去我博客搜索该标题看看,如果你连搜索都不会,我们就没办法愉快的聊天了。虽然最近某度那个垃圾把我们的论坛标记成了危险网站,但是我有信心大家会相信我,而不是那个吃人血的莆田系帮凶某度。
避免它们起诉我, 我给它们打马赛克了,O(∩_∩)O谢谢
好了,现在进入正文,linux学习,看下面的教程,就够了~~~
如果你真心对计算机感兴趣,我才会推荐你,看马哥linux视频!!!
点击阅读原文,可以进入我们的危险网站,谢谢大家的信任。